package com.cskaoyan.javase.basic._3variable;

/**
 * 注意事项:
 *      1.Java当中的整数字面值常量，默认当作int处理。假如你想使用字面值整数定义一个long类型变量，那么该字面值常量的后面应该加上一个"L"区分（禁止使用小写"l"）。
 *
 *      2.Java当中的小数字面值常量，默认当作double处理。假如你想使用字面值小数定义一个float类型变量，那么该字面值常量的后面应该加上一个"F"或"f"区分。
 *
 *
 *      3.定义一个变量是有它的作用范围的，这个范围通常用{}来界定，同样一个{}不能有同名变量。
 *
 *      4.虽然Java语法允许一行定义多个相同数据类型的变量，但规范的Java代码禁止这样做！
 *      一行定义多个变量，不仅格式不美观，到底定义了多少变量也不直观，不要这么做。
 *
 *      5.关于局部变量的使用规范,需要强调的是:
 *          局部变量应该在需要使用它时,定义它
 *          不要先定义,然后隔一大段再使用
 *          最理想的情况下,局部变量的定义和使用不间隔超过三行
 *
 * @since 10:11
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo3 {
    public static void main(String[] args) {
        int a = 100;
        // 当希望字面值常量整数当long类型处理时,常量后面要加"L",一定要加大写"L",加小写是错误的
        long b = 100L;
        // 错误的写法
        // long c = 100l;

        double c = 0.1;
        // "f"和"F"没有区别
        float d = 0.1F;


        // 以下写法虽然语法允许,但是不符合规范,请大家不要这么做
        // idea的纸不要钱,不需要节省,一行就只定义一个变量,主要是为了增强代码的可读性
        int a1, a2 = 10, a3 = 100, a4 = 1000;

        // 假如在这个main方法中,我已经知道需要定义name,age,score这三个局部变量,这时应该用到这些局部变量时再定义它,而不是一股脑全部定义后面再用.
        String name;
        int age;
        double score;
        // 隔了一段
        name = "张三";
        // 隔了一段
        age = 18;
        // 隔了一段
        score = 500;
        double grade;
    }
}
